package com.pet_service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pet_service.entity.PetInfo;
import com.pet_service.entity.User;
import com.pet_service.vo.PageBean;
import com.pet_service.vo.StaffProfileVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author 邹全伸
* @description 针对表【user(用户表)】的数据库操作Mapper
* @createDate 2025-09-20 09:18:18
* @Entity com.pet_service.entity.User
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
    //根据用户名查询用户信息
    User selectByUsername(String username);

    //检查用户名是否重复
    long checkUserName(String username);

    //检查手机号是否重复
    long checkUserPhone(String userPhone);

    //修改用户信息
    int updateBaseInfo(User user);

    //修改密码
    int updatePassword(User user);

    //分页查询服务人员列表（带条件）
    List<StaffProfileVO> selectStaffProfiles(@Param("pageBean") PageBean pageBean);

    //查询服务人员总记录数（带条件）
    Long selectStaffProfilesCount(@Param("pageBean") PageBean pageBean);

    //根据ID查询单个服务人员
    StaffProfileVO selectStaffProfileById(Integer id);

    //检查用户是否存在
    boolean existsById(Integer id);

    //分页查询指定角色的
    List<User> selectUsersByRoleCode(String roleCode, String query);

    //分页查询指定角色的用户总记录数
    Long selectUsersByRoleCodeCount(String roleCode, String query);

    //根据用户id查询用户所拥有的宠物信息
    List<PetInfo> selectPetsByUserId(Integer userId);
}




